package org.zephy.guomi;

import cn.hutool.core.util.CharsetUtil;
import cn.hutool.crypto.SmUtil;
import cn.hutool.crypto.symmetric.SymmetricCrypto;

/**
 * 带密钥的，sm4密钥128位，也就是16个字节，只要密钥一样，就可以解密
 */
public class Sm4Test2 {
    public static void main(String[] args) {
        String key="1234567890123456";//密钥
        String content="hello world";
        SymmetricCrypto sm4= SmUtil.sm4(key.getBytes());
        SymmetricCrypto sm41=SmUtil.sm4(key.getBytes()); //使用相同密钥

        String encryptHex=sm4.encryptHex(content); //加密
        String decryptStr=sm41.decryptStr(encryptHex, CharsetUtil.CHARSET_UTF_8); //解密

        System.out.println("encode:"+encryptHex);
        System.out.println("decode:"+decryptStr);
    }
}
